package com.demo.controller;

import com.demo.entity.Video;
import com.demo.service.VideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import java.util.List;

@Controller
public class VideoController {
    //    1. 表明身份@Controller，接受Spring容器的管理
    //    2.  直接复制serviceImpl的代码过来
    //    3.   删除@Override
//    4. controller是依赖servicve的，所以把mapper属性改成service属性
//    5. 将方法体中所有的mapper都修改成service对象
//    6. 将添加，修改，删除三个方法体中的。返回值类型改成String , true 对应成功，false 失败
//    7. 通过三元运算符，根据布尔类型转成字符串的返回结果

    @Autowired   // 自动装配，就是DI依赖注入（Set注入，构造器注入）
//    private VideoMapper videoMapper;
    private VideoService videoService;  // 写接口，面向接口编程


    public List<Video> selectAllVideos() {
        // service自己不干活，转包给mapper对象
        return videoService.selectAllVideos();
    }


    public Video selectVideoById(int id) {
        // 一并把参数给传递给mapper代理
        return videoService.selectVideoById(id);
    }


    public String deleteVideoById(int id) {
        // mapper的delete,update,insert返回值是int
        // service的delete,update,insert返回值是Boolean
        // 受影响行数大于0，就是成功，返回true,否则false
        return videoService.deleteVideoById(id) ? "删除成功" : "删除失败";
    }


    public String insertVideo(Video video) {
        return videoService.insertVideo(video) ? "添加成功" : "添加失败";
    }


    public String updateVideo(Video video) {
        return videoService.updateVideo(video) ? "修改成功" : "修改失败";
    }
}
